// Header Protection
#ifndef _SCRIPTNODE_H_
#define _SCRIPTNODE_H_

// Include Files
#include "Definitions.h"
#include "Systems\SystemNode.h"

// Namespace
namespace IE
{
	/////////////////////////////////////////////////////////////////////////////////
	// A node to hold the scripting data for an object in a thread safe manner.
	class CScriptNode : public ABCSystemNode
	{
		// TODO: for now this class is just overridden to create a script, eventually
		//     it should actually run a scripting language.

	public:     // methods
		CScriptNode() : ABCSystemNode() { }
		virtual ~CScriptNode() { }

	private:    // dummy definitions
		CScriptNode( CScriptNode const & );
		CScriptNode &operator =( CScriptNode const & );
	};

	///////////////////////////////////////////////////////////////////////////////////
	//// An event argument used to pass information about a script state.
	//class CScriptStateEventArg : public CEventArg
	//{
	//public:     // accessors
	//
	//	CScriptState *GetState() { return m_pState; }
	//
	//public:     // methods
	//
	//	CScriptStateEventArg( CScriptState *_pState ) : m_pState(_pState)
	//	{ }
	//
	//	~CScriptStateEventArg() { }
	//
	//private:    // data
	//
	//	CScriptState *m_pState;
	//};
}

// Header Protection
#endif // _SCRIPTNODE_H_
